﻿using Basic.FlowRemoteModel;

namespace Basic.FlowModel.AuditLogItem
{
    public class AuditItemLog
    {
        public long Id
        {
            get;
            set;
        }
        public long LogId
        {
            get;
            set;
        }
        public string DocTitle
        {
            get;
            set;
        }
        public long FlowId
        {
            get;
            set;
        }
        public FlowNodeType NodeType
        {
            get;
            set;
        }
        public long RootNodeId { get; set; }

        public long BatchNo
        {
            get;
            set;
        }
        public long NodeId { get; set; }

        public int NodeLvl { get; set; }
        public long EmpId { get; set; }

        public long EmpByUnitId { get; set; }

        public long EmpByDeptId { get; set; }
        /// <summary>
        /// 循环审批当前部门ID
        /// </summary>
        public long? NextDeptId { get; set; }

        public long BeginCompanyId { get; set; }

        public long BeginEmpId { get; set; }

        public long BeginDeptId { get; set; }

        public long BeginUnitId { get; set; }
        /// <summary>
        /// 流程项最终审核状态
        /// </summary>
        public FlowAuditItemStatus Status { get; set; }


        public string AuditOpinion { get; set; }

        public long LinkPk { get; set; }

        public string LinkType { get; set; }

        public long? PrevNodeId { get; set; }

        public long? PrevBackNo { get; set; }
        public long? BackNodeId { get; set; }
        public long CompanyId { get; set; }

        public long? PrtBatchNo { get; set; }
        public long RootBatchNo { get; set; }
        public FlowAuditLogStatus LogStatus { get; set; }

        public FlowAuditItemStatus AuditState { get; set; }
        /// <summary>
        /// 最终审核状态
        /// </summary>
        public FlowAuditStatus LogAuditStatus { get; set; }

        /// <summary>
        /// 审批项标记状态 主要指当前项 上级发起方式
        /// </summary>
        public FlowItemMarkState MarkState { get; set; }
        public long? OptItemId { get; set; }
    }
}
